package com.loong.loong.hik.api.entity.resource;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 【消防设备】FireDeviceDTO属性说明
 * @author jinyiang
 * @date 2023/3/22 10:03
 */
@Data
@TableName("hik_resource_fire_device")
public class HikResourceFireDevice {

	private static final long serialVersionUID = 1L;

	/**
	 * 消防设备唯一标识
	 */
	@TableId(value = "index_code", type = IdType.AUTO)
	private String indexCode;

	/**
	 * 主动设备编号
	 */
	@NotBlank(message = "主动设备编号不能为空")
	private String deviceCode;

	/**
	 * 资源类型
	 */
	@NotBlank(message = "资源类型不能为空")
	private String resourceType;

	/**
	 * 所属区域
	 */
	@NotBlank(message = "所属区域不能为空")
	private String regionIndexCode;

	/**
	 * 设备名称
	 */
	@NotBlank(message = "设备名称不能为空")
	private String name;

	/**
	 * 设备状态
	 */
	@NotNull(message = "设备状态不能为空")
	private Integer fireproDeviceStatus;

	/**
	 * 设备类型
	 */
	@NotBlank(message = "设备类型不能为空")
	private String deviceType;

	/**
	 * 设备厂商
	 */
	private String manufacturer;

	/**
	 * 设备所属系统
	 */
	private Integer fireproDeviceOwnSystemId;

	/**
	 * 设备所在位置
	 */
	@Size(max = 512, message = "设备所在位置长度不能超过512")
	private String installLocation;

	/**
	 * NB设备设备Id
	 */
	private String fireproDeviceIotDeviceId;

	/**
	 * 设备添加时间
	 */
	private String createTime;

	/**
	 * 设备修改时间
	 */
	private String updateTime;

	/**
	 * 所属运营商及通信类型
	 */
	private String fireproDeviceCommunication;

	/**
	 * 扩展信息
	 */
	@Size(max = 1024, message = "扩展信息长度不能超过1024")
	private String extendJson;

	/**
	 * 设备所在Ip
	 */
	@NotBlank(message = "设备所在Ip不能为空")
	private String ip;

	/**
	 * 设备端口
	 */
	@NotNull(message = "设备端口不能为空")
	private Integer port;
}
